<?php

namespace App\Http\Controllers;

use App\Services\QrcodeService;

class QrcodeController extends Controller
{
    /**
     * 生成二维码
     *
     * @return void
     */
    public function generateQrcode()
    {
        // 此代码仅示例生成二维码
        $qrcodeContent = 'http://www.baidu.com'; //二维码内容
        $saveFileName = date('YmdHis') . rand(1000, 9999) . '.png'; //保存文件名
        $saveFilePath = public_path() . '/tempFile/' . $saveFileName;   //保存文件路径
        $saveFileAccessPath = 'tempFile/' . $saveFileName;  //访问路径

        $qrcodeService = new QrcodeService();
        $qrcodeRes = $qrcodeService->generateQrcodeByPhpqrcode($qrcodeContent, $saveFilePath);

        if (!$qrcodeRes['status']) {
            // 生成失败，则暂停
            echo '生成二维码失败！';
            echo "<br/>";
            print_r($qrcodeRes);
            exit();
        } else {
            //生成失败，则跳转显示二维码
            $qrcodeAccessUrl = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . ':' . $_SERVER['SERVER_PORT'] . '/' . $saveFileAccessPath;
            header("Location: $qrcodeAccessUrl");   // 发送HTTP头信息，将页面重定向到指定的URL
            exit();
        }
    }
}
